﻿//* Copyright(C) 2005-2012, all rights reserved.
//*
//* The following code is copyrighted and contains proprietary information
/* and trade secrets of Foxit Software Inc.      
**************************************************************************
*/

/**
MainFrm鼠标事件接口类
*/


define(function (require, exports, module) {
    require('./Event.js');
    var Interface = require('../Interface');
    //接口列表;
    var MousePtInterface = new Interface('IReader_MainFrmEventHandler', ['OnLButtonDown', 'OnLButtonUp','OnMouseMove', 'OnMouseOut', 'OnMouseLeave', 'GetType','OnSize']);

    /**
     * @description Interface of the mainframe event handler.
     * @class Interface of the mainframe event handler.
     */
    FXREADER.Event.IReader_MainFrmEventHandler = function () {
    };

    FXREADER.Event.IReader_MainFrmEventHandler.prototype =
    {
    	/**
    	  * @description return the name of the event handler.
    	  * @return {String} the name of the event handler.
        */
        GetType: function () { return "Interface"; },
        /**
         * @description trigger by left mouse button click on mainframe view.
         * @param {object} event information of the event.
         * @return {Boolean}  if return true，the event will not be processed by other “MainFrmEventHandler”, 
 		* otherwise, the event will not be processed by other “MainFrmEventHandler”;
         */
        OnLButtonDown: function (event) { return false; },
        /**
         * @description trigger by left mouse button up.
         * @param {object} event information of the event.
         * @return {Boolean} if return true，the event will not be processed by other “MainFrmEventHandler”, 
 		* otherwise, the event will not be processed by other “MainFrmEventHandler”;
         */
        OnLButtonUp: function (event) { return false; },    
        /**
         * @description trigger by mouse move.
         * @param {object} event information of the event.
         * @return {Boolean} if return true，the event will not be processed by other “MainFrmEventHandler”, 
 		* otherwise, the event will not be processed by other “MainFrmEventHandler”;
         */
        OnMouseMove: function (event) { return false; }, 
        OnMouseOut: function (event) { return false; },
        /**
         * @description Trigger when the mouse leaves the main frame view.
         * @param {object} event information of the event.
         * @return {Boolean} if return true，the event will not be processed by other “MainFrmEventHandler”, 
 		* otherwise, the event will not be processed by other “MainFrmEventHandler”;
         */
        OnMouseLeave: function (event) { return false; },
        /**
         * @description Trigger when the size of Web Reader App changed.
         */
        OnSize: function () {
        }
    };

    FXREADER.Event.IReader_MainFrmEventHandler.EnsureInterface = function (subclass) {
        Interface.ensureImplements(subclass, MousePtInterface);
    };

    return FXREADER.Event.IReader_MainFrmEventHandler;
});